/*
    首先是我们的 表格的配置（数组对象）

    每个对象中有三个必须的属性
    prop:对应的字段名称
    label:表格表头展示名称
    width/min_width:列宽（width和min_width自选其一）（width就是固定款度，min_width最小宽度）

    扩展属性
    align:列的对齐方式（left、center、right）默认left
    isEdit:（默认false，为true时开始单元格双击编辑功能）
    type:（列展示格式）具体看以下举例
    show:控制列的显示或隐藏(这里不需要单独写出来，在组件里会自己去添加)

    type:time（后端返回的字段为时间戳，需要我们自己格式化时间）
    {
        prop: 'createDate',
        label: ' 创建时间',
        align: 'center',
        type: 'time',
        width: 180
    }

    type:image（改字段需要以图片的形式展示）
    {
        prop: 'avatar',
        label: '头像',
        align: 'center',
        type: 'image', 
        width: 80
    },

    type:switch（switch开关，一般用于控制该条数据的状态）
    {
        prop: 'userStatus',
        label: '用户状态',
        align: 'center',
        type: 'switch', 
        activeValue: 1, // switch为打开时的值
        inactiveValue: 2,// switch为关闭时的值
        width: 100
    },

    type:status（状态展示，比如这时候后端返回的状态对应的值时1或者是2，肯定是需要转为中文展示的）
    {
        prop: 'userStatus',
        label: '用户状态',
        align: 'center',
        width: 100,
        type: 'status', 
        option: {
            '1': '启用',
            '2': '禁用',
        },
        color: {
            '1': 'success',
            '2': 'info',
        }
    }

    以上就是表格配置信息
*/

const columnsData = [
  {
    prop: "userId",
    label: "工号",
    align: "center",
    min_width: 120,
  },
  {
    prop: "name",
    label: "姓名",
    align: "center",
    width: 180,
  },
  {
    prop: "avatar",
    label: "个人照片",
    type: "image",
    align: "center",
    width: 180,
  },
  {
    prop: "phone",
    label: " 手机号码",
    align: "center",
    width: 180,
  },
  {
    prop: "teacherType",
    label: "教师类型",
    align: "center",
    width: 180,
  },
  {
    prop: "department",
    label: "部门",
    align: "center",
    width: 180,
  },
];

// 表格查询配置中 type:select 的测试数据

let dataList = [
  {
    id: 1,
    menuName: "首页",
    menuPath: "/",
    menuType: 2,
    menuStatus: 1,
    parentId: 0,
    parentName: null,
    createDate: 1682435267868,
  },
  {
    id: 2,
    menuName: "系统管理",
    menuPath: "/system",
    menuType: 1,
    menuStatus: 1,
    parentId: 0,
    parentName: null,
    createDate: 1682435338368,
  },
  {
    id: 3,
    menuName: "用户管理",
    menuPath: "user",
    menuType: 2,
    menuStatus: 1,
    parentId: 2,
    parentName: "系统管理",
    createDate: 1682436009335,
  },
  {
    id: 4,
    menuName: "角色管理",
    menuPath: "role",
    menuType: 2,
    menuStatus: 1,
    parentId: 2,
    parentName: "系统管理",
    createDate: 1682436073984,
  },
  {
    id: 5,
    menuName: "菜单管理",
    menuPath: "menu",
    menuType: 2,
    menuStatus: 1,
    parentId: 2,
    parentName: "系统管理",
    createDate: 1682471621692,
  },
];

let educationSystemList = [
  {
    id: 1,
    menuName: "2年制",
  },
  {
    id: 2,
    menuName: "3年制",
  },
  {
    id: 3,
    menuName: "4年制",
  },
];

/*
  接下来我们来说一下查询的配置
  我们查询时传给后端的数据大多是是这样的
  {
      name:'张三,
      age:1
  }

  下面我只配置了三种情况
  text 就是用户数据关键字查询
  select 是用户选择指定数据查询
  dateTime 根据时间查询

  text 和 dateTime 没什么可说的，重要的是select
  我们之间来解析一条
  { label: "所属菜单", prop: 'menuId', type: 'select', options: dataList, valueKey: 'id', labelKey: 'menuName' },

  label 对应的是我们的名称
  prop 对应的则是字段
  type 类型就不说了，上面说了，目前就三种
  options：（数组对象）上面我会贴出测试数据
  我们这个查询是作用在select下拉菜单上的，且每次数组对象中的数据都是不同的，我们就需要两个变量去存对应的字段
  valueKey:select选择的值
  labelKey:select选择值对应的名称
*/

const queryData = [
  { label: "工号", prop: "userId", type: "text" },
  { label: "姓名", prop: "userName", type: "text" },
];
const addData = [
  {
    label: "工号",
    prop: "userId",
    type: "text",
    required: true,
    disabled: false,
  },
  {
    label: "姓名",
    prop: "name",
    type: "text",
    required: true,
    disabled: false,
  },
  {
    label: "教师类型",
    prop: "teacherType",
    type: "text",
    required: false,
    disabled: false,
  },
  {
    label: "部门",
    prop: "department",
    type: "text",
    required: false,
    disabled: false,
  },
];
const editData = [
  {
    label: "工号",
    prop: "userId",
    type: "text",
    required: true,
    disabled: true,
  },
  {
    label: "姓名",
    prop: "name",
    type: "text",
    required: true,
    disabled: true,
  },
  {
    label: "教师类型",
    prop: "teacherType",
    type: "text",
    required: false,
    disabled: false,
  },
  {
    label: "部门",
    prop: "department",
    type: "text",
    required: false,
    disabled: false,
  },
];
export { columnsData, queryData, addData, editData };
